package me.feng.classDescribe
{
	import avmplus.describeTypeClass;
	import avmplus.describeTypeInstance;

	import me.feng.utils.ClassUtils;

	/**
	 *
	 * @author feng 2016-4-1
	 */
	public class ClassDescribe
	{
		public var isDynamic:Boolean;
		public var isFinal:Boolean;
		public var isStatic:Boolean;
		public var name:String;
		public var traits:ClassTraits;
		public var staticTraits:ClassTraits;

		public function ClassDescribe(obj:Class)
		{
			var instanceDescribe:Object = describeTypeInstance(obj);
			instanceDescribe.staticTraits = describeTypeClass(obj).traits;
			ClassUtils.deepCopy(this, instanceDescribe);
		}
	}
}
